package Stream.test1;

import java.util.stream.Stream;

public class WUXIANStream {

    //关于无限流
    public static void main(String[] args) {
        Stream.generate(Math::random).limit(5).forEach(System.out::println);
        /*:: 是Java 8引入的语法，它被称为方法引用。
    方法引用允许你直接引用一个方法，而不需要写一个方法体。
    它由两个冒号组成，左侧是一个对象引用，右侧是一个方法名称。*/

        //主要生成迭代序列的迭代算法
        Stream.iterate(2, n -> n * 2).limit(10).forEach(System.out::println);

        //    增强的iterate方法,自带界限;类似for循环的参数
        Stream<Integer> iterate = Stream.iterate(1000, n -> n > 0, n -> n - 300);
        iterate.parallel().forEach(System.out::println);
        /*注:对列表类型使用parallelStream获取它们的并行流*/
        //    并行流就不是顺序了，可能会乱序
    }
}
